Generally a software application program has a user interface designed by a developer of the program. A user interface is mostly a Graphical User Interface (GUI). The GUI allows a user to operate an application program by clicking a button of the GUI displayed on a computer screen or making selection from a pull-down menu with a mouse or a keyboard. Furthermore, recently as the speech recognition and speech synthesis techniques have advanced, operating an application program with a speech user interface has become possible.
Furthermore, a technique that realizes a user interface by describing the user interface in markup language and executing the markup language by a browser is also known. Currently prevailing HTML and web browsers are an example of this technique. Although the HTML and web browsers are originally a technique for browsing a document, they also enable interaction by virtue of the HTML Form and a CGI (Common Gateway Interface) mechanism on the web-server side. For instance, on a page of a search engine which performs search for a web content, a text box is provided for inputting a search word, and clicking a “search” button executes the search. Besides this, other styles for inputting various data on a web browser and transmitting data to a server are prevailing. In these examples, the HTML serves as the type of GUI markup language.
Meanwhile, a markup language called VoiceXML designed by W3C (World Wide Web Consortium) is a language for describing speech interaction.
A user interface is logically separated into an element of “data model” and an element of “presentation.” The “data model” indicates what kind of data the application program is trying to obtain from a user through the user interface. In a case of the aforementioned search engine, the data to be obtained from a user is the “search word” that is a character string. Therefore, this is the data model of the search engine. This is by nature independent of the presentation of the user interface. The “presentation” indicates what kind of modality constitutes the user interface (e.g., GUI, speech, or the like). In a case of a GUI, the “presentation” indicates the appearance of the GUI.
In a case of the search engine, a GUI is adopted as a base, and a GUI component called a text box is allocated for inputting a search word. If a search word is limited to one of a plurality of character strings, a pull-down menu is used instead of a text box. Furthermore, in a case of a currently prevailing voice portal, the data to be obtained from a user is a character string called a “search word,” and the corresponding presentation is a modality called speech input, instead of a text box.
As described above, a user interface of a “search” application program has a data model called a “search word” and various presentations can be allocated for the data model. The aforementioned W3C is designing a specification for a markup language called XForms. This is an XML-based markup language which can separately describe the presentation and data model of the user interface.
Most users normally operate an application program in accordance with the above-described presentation of the user interface designed by the program's developer.
However, since the presentation of the user interface used by respective users is designed by the program's developer as mentioned above, it is not always user friendly to all the users. For instance, in a user interface for inputting the name of the user, address, zip code and so on, it is often the case that a text field is allocated for each item and the user has to input data with a keyboard or the like.
Assuming the case of inputting a name in the name field of this user interface, in most cases the user inputs a name of his/her own or a name of a person close to the user. Therefore, it is easier for a user to select a name with a mouse from a pull-down menu having candidates of plural names, rather than to input the user name in the text field using a keyboard. Moreover, there are many users who prefer to use a user interface that can perform input by speech recognition having the plural name candidates as a recognition vocabulary.
Meanwhile, in a case of inputting a zip code, since users almost never remember all the zip codes, it is necessary to find a zip code using some kind of means and input the zip code in the text field from a keyboard or the like. However, there should be many users who think it is more convenient to find a zip code by clicking a place on a map or clicking a link with a user interface having an presentation such as URL:http://wwwl.sphere.ne.jp/yjk/postal/ that can be browsed on the Internet.
As described above, even for one data model, a preferable presentation of the user interface differs for each user. However, conventionally a user has no choice but to operate a user interface in accordance with the presentation of the user interface designed by the developer of the application program, and it has been impossible to allocate an presentation appropriate for each user.